// 更改了配置文件要重新编译打包
const path = require('path');

const NODE_ENV = process.env.NODE_ENV === 'production';

module.exports = {
  // productionSourceMap -- 是否打包map文件(映射文件，作用是调试时会显示错误在第几行。上线后用不着)
  productionSourceMap: false,

  // publicPath -- 设置资源目录 (开发环境'/'、生产环境'./')
  // process.env.NODE_ENV 可以判断是否为生产环境
  publicPath: NODE_ENV ? './' : '/',

  // assetsDir -- 配置资源存放的位置(js、css、img)
  assetsDir: 'assets',

  // chainWebpack -- 给路径配置别名
  chainWebpack: (config) => {
    config.resolve.alias.set('@v', path.resolve(__dirname, 'src/views'));
  },

  // configureWebpack 是Vue CLI3.0 中用于配置 webpack 插件参数的地方，你在这里设置，会新建或者覆盖 webpack 默认配置。
  configureWebpack: {
    // 在这里面就像写真正的webpack一样，来配置
    // plugins -- 插件
    plugins: []
    // module -- 模块
    // module: {}
  },

  pages: {
    index: {
      // 页面入口
      entry: 'src/main.js',
      // 模板来源
      template: 'public/index.html',
      // 在 dist/index.html 的输出
      filename: 'index.html',
      // 当使用 title 选项时，
      // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: 'Music-Player (PC)',
      // 在这个页面中包含的块，默认情况下会包含提取出来的通用 chunk 和 vendor chunk
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    },
    // 当使用只有入口的字符串格式时，
    // 模板会被推导为 `public/subpage.html`
    // 并且如果找不到的话，就回退到 `public/index.html`
    // 输出文件名会被推导为 `subpage.html`
    subpage: 'src/main.js'
  },

  // devServer -- 设置axios代理(axios插件)
  devServer: {
    proxy: { // 配置跨域
      '/': {
        target: 'http://music.a-1.vip', // 这里后台的地址模拟的;应该填写你们真实的后台接口
        pathRewrite: {
          '^/': '' // 请求的时候使用这个api就可以
        }
      }
    }
  }
};
